Skip to content

WIP [don't squash] Manopt v0.6#605

Draft
mateuszbaran wants to merge 5 commits into
masterfrom
dev-0.6
Draft

WIP [don't squash] Manopt v0.6#605
mateuszbaran wants to merge 5 commits into
masterfrom
dev-0.6

Conversation

@mateuszbaran
Copy link
Copy Markdown
Member

@mateuszbaran mateuszbaran commented May 15, 2026

Contains:

  1. show rework (Properly overload show #569 )
  2. Removal of JuMP extension (Proposal to remove the JuMP Extension #532)
  3. Generalized Cauchy direction method and Riemannian L-BFGS-B (Generalized Cauchy direction and box constraints #554 )
  4. Removal of the Asymptote exports, they are now in https://github.com/JuliaManifolds/ManifoldAsymptote.jl (Removal of the asymptote helper functions -> ManifoldAsymptote.jl #607)

mateuszbaran and others added 3 commits April 7, 2026 17:09
* Sketch a fix for show/repr
* delete debug info
* A bit of code structuring and test the new scheme with GradientDescentState.
* introduce multiline and refactor all show and status_summary methods.
---------

Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>
* Remove the JuMPExt
* update changelog.
* initial code for GCP computation

* formatting

* expand a little

* add a few more methods

* Byrd's way of handling non-positive-definite (s, y) pairs in limited memory quasi-Newton

* start testing GCP

* A few more tests

* fix "typos"

* box tests in a separate file

* start integration of GCP into quasi_Newton

* integrate GCPFinder into direction update (why doesn't this work right?)

* return d from fill_rho_i!

* fix rho update

* first successful run

* address review, fix bug

* a little bit of docs

* fix extref again?

* StopWhenRelativeAPosterioriChangeCostLessOrEqual

* improve consistency of stepsize limits

* some fixes and tests around max_stepsize, bound_direction_tweak! and hess_val_eb

* fix Base.show for StopWhenRelativeAPosterioriChangeCostLessOrEqual

* more tests and change one name

* formatting

* more testing

* improve coverage

* improve coverage a bit more

* improve coverage; circumvent a Julia documenter bug

* improve coverage

* formatting

* fix a bug

* add max_stepsize function for ProbabilitySimplex and corresponding tests

* improve docs

* Apply suggestions from code review

Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>

* address some review comments

* address more comments

* one more comment

* fix docs

* fixing extref

* don't specify arch

* expand docs

* address more review comments

* update Project.toml

* add some details and fix some links

* forgot an inversion

* optimize segment search by not requiring d_old; fix one test to have consistent, reasonable input

* we only need d_z/Y_tmp in the generic updater, not the limited memory one

* adapt to glossaries

* improve coverage

* streamline GCP direction search a bit

* rename

* refactor segment updater to be more minimal (common logic went to the GCP subsolver)

* more cleanup in GCP

* rearrange arguments to a more logical order

* CMA ES should probably use passed RNG for the initial point?

* move one temporary to the segment propagator that needs it

* improve coverage

* Add test for hitting multiple bounds in Generalized Cauchy Point Finder

* improve naming

* Remove IJulia from the tutorials project. Maybe that helps.

* rename t to stepsize in function names

* fix convergence indication for StopWhenRelativeAPosterioriCostChangeLessOrEqual

* rename GCP to GCD

* GCD in tutorial

* set seed to try avoiding random errors

* add missing page

* fix convergence indication of StopWhenChangeLess

* Update docs/src/solvers/generalized_cauchy_direction_subsolver.md

Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>

* rename a few things, expand docs

* add missing docs entry

* improve names

* remove warning that isn't necessary

* formatting

* improve numerical robustness

* also detect nondescent direction at inner product 0

* Wrong eps was taken there

* fix test

* Update test/plans/test_stopping_criteria.jl

Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>

* support stepsize limiting in LineSearchesStepsize

* fix + test

* skip non-coverable line

* fix a few issues with quasi-Newton

* improve coverage

* allow for larger max stepsizes in post-GCD linesearch when away from boundaries

* Add Hager-Zhang 2006 linesearch

* remove initial stepsize parameters; add some docs

* fix edge case issues of HZ line search; expand docs on GCD; use line search restart in QN; improve coverage; respect stepsize limit in HagerZhangInitialGuess

* test one more edge case

* test initialize_stepsize! for HZ

* improve coverage

* optimize quasi_Newton step

* more docs for HZ, a new test, removed commented out line

* use provided gradient for dphi_0 in HZ

* avoid cost reevaluation for stopping criteria in certain cases

* avoid tangent allocation

* optimize a few things

* improve coverage

* streamline set_stepsize_bound! logic

* generalize to Hyperrectangle at any position

* cleanup

* fix ambiguity, improve test

* address review regarding HZ stepsize

* expand changelog, stepsize initialization

* Update src/plans/stepsize/stepsize.jl

Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>

* Make GCD more type stable

* Add simple directional stepsize limiting for completeness

* fix docs

* add an early termination condition for HZ linesearch; add show methods to two types

* test new printing methods

* improve coverage

* rename Finder to Subsolver, don't store manifold inside

* Apply suggestions from code review

Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>

* address one more issue

* update docs

* address two more review comments (Github doesn't seem to be able to apply those suggestions from the browser interface)

* a bit more comments, a bit more UTF, a bit better name for an internal function

* Handle decorators in `get_cost`

* fix a bug noticed while working on RLM

* Remove and accidentially duplicate method definition.

* adapt one new StoppingCriterion to the new show/repr/status_summary style and fix one further bug.

* add status summary to QuasiNewtonLimitedMemoryBoxDirectionUpdate

* Better support for custom point types in conjugate_gradient_descent (#596)

* Bump crate-ci/typos from 1.45.0 to 1.45.1 (#597)

Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.45.0 to 1.45.1.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](crate-ci/typos@v1.45.0...v1.45.1)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.45.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump julia-actions/setup-julia from 2 to 3 (#598)

* Bump julia-actions/setup-julia from 2 to 3

Bumps [julia-actions/setup-julia](https://github.com/julia-actions/setup-julia) from 2 to 3.
- [Release notes](https://github.com/julia-actions/setup-julia/releases)
- [Commits](julia-actions/setup-julia@v2...v3)

---
updated-dependencies:
- dependency-name: julia-actions/setup-julia
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* remove arch keyword since by now they all should run on 64 bit and it was too restructive for mac os

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>

* introduce a stopped_at function for solver states. (#599)

* introduce a stopped_at function for solver states.
* Add stopped_at to the docs.
* Add the AI section to the initial TOC.
* a bit of code formatting and one test.
* Fix a test.

* Increase GH Action dependabot to only update typos on minor/major and not on patch level (#602)

* Fix some issues with CG and certain coefficient rules when using restart (#604)

* refactor CGRule
* Fix some issues with CG + HZ
* provide a proper test + formatting
* fix CG test
* Refactor CG rules.
* Fix 2 cases where we implicitly relied on storage being updated in case it was not filled and now fill it explicitly.
* bump version.

---------

Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>

* Unify REPL print and add a test.

* unify tests.

* Improve code cov.

* Update ext/ManoptManifoldsExt/manifold_functions.jl

Co-authored-by: Patryk Przybysz <PatrykPrzybysz.tl@interia.pl>

* add citation of the preprint

* add bibliography section

* Add Patryk to the about.

* Fix a typo.

* Fix a typo.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Ronny Bergmann <git@ronnybergmann.net>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Patryk Przybysz <PatrykPrzybysz.tl@interia.pl>
@mateuszbaran mateuszbaran marked this pull request as draft May 15, 2026 09:06
@mateuszbaran mateuszbaran added the WIP Work in Progress (for a pull request) label May 15, 2026
@mateuszbaran mateuszbaran changed the title WIP [don' WIP [don't squash] Manopt v0.6 May 15, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (0e92b74) to head (7cb7d8a).

Additional details and impacted files
@@             Coverage Diff             @@
##            master      #605     +/-   ##
===========================================
  Coverage   100.00%   100.00%             
===========================================
  Files           91        91             
  Lines        10052     11631   +1579     
===========================================
+ Hits         10052     11631   +1579     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

* prepare removal of the asymptote exports.
* Fix doc links and grammar.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

WIP Work in Progress (for a pull request)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Properly add methods to show to have valid repr Allow specifying a small positive constant as the lower limit of y-s products in QN

2 participants